#pragma once

#include "Platform/System.h"

#if HELIUM_SHARED
# ifdef HELIUM_APPLICATION_EXPORTS
#  define HELIUM_APPLICATION_API HELIUM_API_EXPORT
# else
#  define HELIUM_APPLICATION_API HELIUM_API_IMPORT
# endif
#else
# define HELIUM_APPLICATION_API
#endif

#define HELIUM_APPLICATION_PROFILE 0

#if HELIUM_PROFILE_INSTRUMENT_ALL || HELIUM_APPLICATION_PROFILE
# define HELIUM_APPLICATION_FUNCTION_TIMER() HELIUM_PROFILE_FUNCTION_TIMER()
#else
# define HELIUM_APPLICATION_FUNCTION_TIMER()
#endif

#if HELIUM_PROFILE_INSTRUMENT_ALL || HELIUM_APPLICATION_PROFILE
# define HELIUM_APPLICATION_SCOPE_TIMER( ... ) HELIUM_PROFILE_SCOPE_TIMER( __VA_ARGS__ )
#else
# define HELIUM_APPLICATION_SCOPE_TIMER( ... )
#endif
